Software production typically involves a build process that takes source files and compiles them into a binary package for delivery. Some software production projects may have tens of thousands of source files having a complex dependency structure. As such software production is often a time and resource intensive process, and therefore becomes a limiting factor to software product innovation and predictable delivery. It is with respect to these and other problems that enhanced software production techniques are needed.